package edu.hbsi.demo1;

public class Student {
    //属性用来描述这一类对象所具有的静态特征，也可以称为成员变量
    //属性一般定义成私有的
    //public  protected default private
    //
    String name;
    private String num;
    private int age;
    private String address;
    static  String className;
    //方法：----描述的是这一类的对象所具有的动态行为
    public void display(){//方法的首部
        //方法体
        System.out.println("这是一个例子，方法的例子");

    }
    //这些属性都是私有的
    //setter and getter 的细节
    //setter and getter 方法的 快速生成方法


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
    //构造方法
    //1，方法与类同名
    //2.没有范慧芝，设置成void也不行
    //3.
    //方法重载
    //1.方法名称相同
    //2.方法的参数、类型、顺序不同
    //3.方法的返回值无所谓
    //构造方法的作用
    public Student(String name, String jerry, int i, String shanghai) {
        this.name = name;
        this.num = num;
        this.age = age;
        this.address = address;
        System.out.println("带参数的构造方法");
    }

    public Student() {
        System.out.println("无参构造方法");

    }
//@Override//作用：
////跟父类方法同名同参同返回值
//    public String toString(){
//        return "num:"+num+",name:"+name+",age:"+age+"address:"+address;
//    }
//自动重写父类的toString方法
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", num='" + num + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                '}';
    }
    public static void printClassName(){
        System.out.println("静态方法："+className);
        //System.out.println(num);//错误的
    }
}